#include <malloc.h>
#include<iostream>
using namespace std;

//函数重载：函数名相同，参数列表不同
//参数列表不同：参数个数不同，参数类型不同，参数顺序不同
//参数名相同不算参数列表不同
//函数重载只针对当前作用域
//函数重载的作用: 
//1.提高代码可读性
//2.提高代码复用性
//3.提高代码可维护性
//4.提高代码的灵活性

void print(int a)
{
    cout << a << endl;
    cout << "-----------" << endl;
}

// int print(int a ) //无法重载，参数名相同不算参数列表不同 
// {
//     cout << a << endl;
//     cout << "-----------" << endl;
//     return 0;
// }

void print(int a, int b)
{
    cout << a << " " << b << endl;
    cout << "-----------" << endl;
}

void print(double a)
{
    cout << a << endl;
    cout << "-----------" << endl;
}

void print(int a, double b)
{
    cout << a << " " << b << endl;
    cout << "-----------" << endl;
}

int main(int argc, char const *argv[])
{
    print(1);
    print(1, 2);
    print(1.1);
    print(1, 2.2);
    return 0;
}
